/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package docmanager.operation.usuarios;

import bf.*;
import bf.operation.*;
import java.util.*;
import docmanager.db.*;
import docmanager.business.objects.*;
import java.sql.Connection;
import java.sql.SQLException;
import javax.servlet.http.HttpServletRequest;


/**
 *
 * @author Juan Lucas
 */
public class OpListarUsuarios extends Operation
{

    @Override
    public Map execute(HttpServletRequest request) throws OperationException
    {
        try
        {
        	Map m = new HashMap();
        	Connection conn = ConnectionPool.getConnection();
            List l;
            String limitado = request.getParameter("limitado");
            if ("true".equals(limitado))
            {
            	l = Usuario.obtenerUsuariosComunes(conn);
            	m.put("limitado", true);
            }
            else
            {
            	l = Usuario.obtenerTodosUsuarios(conn);
            	m.put("limitado", false);
            }
            Iterator it = l.iterator();
            while (it.hasNext())
            {
                Usuario u = (Usuario) it.next();
                u.cargarRoles();
            }
            
            m.put("usuarios", l);
            
            
            ConnectionPool.closeConn(conn);
            return m;
        } catch (SQLException sQLException)
        {
            sQLException.printStackTrace();
            throw new OperationException();
        }
    }

    @Override
    public String getReturnURL()
    {
        return "Usuarios/ListarUsuarios.jsp";
    }
    
}
